// 1、初始化构建package.json文件（包描述）—— npm init  或者 npm init -y (跳过node默认初始化引导)
// 2、安装express —— npm i -S express  或者 npm install --save express 或者 npm install express --save
// 3、加载包

var express = require('express')
var fs = require('fs')

// 4、创建你服务器应用程序
//      也就是原来的 http.createServer
var app = express()

// 公开指定目录
// 只要这样做了，你就可以直接通过 /public/xx 的方式访问 public目录中的所有资源了
app.use('/public/',express.static('./public'))

// 当省略第一个参数的时候，则可以通过 省略 /public 的方式来访问静态资源
// app.use(express.static('./public'))

// 必须是 /a/ public里面的资源的具体路径
// app.use('/a/',express.static('./public'))

app.engine('html',require('express-art-template'))


// 当服务器收到 get 请求 / 的时候，执行回调处理函数
app.get('/',function (req,res) {
    res.send('hello express!')
})

app.get('/test',function (req,res) {
    // readFile 的第二个参数是可选的，传入utf-8 就是告诉它把读取到的文件直接按照utf-8编码
    // 除了这样来转换之外，也可以通过 data.toString()的方式
    fs.readFile('./db.json','utf8',function (err,data) {
        if (err) {
            return res.status(500).send('Server error.')
        }
        var students =JSON.parse(data).students
        console.log(typeof data)
        res.render('testdb.html',{
            students:students
        })
    })
    
    // res.send(req.query)
})

// 相当于 server.listen
app.listen(3000,function () {
    console.log('app is running at port 3000.')
})